home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / LADDER2.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  12.7 KB  |  317 lines

  1. 10  'LADDER2 - 2 Element Matching Network - 27 SEP 96
  2. 20  '.....adapted from LADDER.BAS ver.1.2 by Brian Egan, ZL1LE
  3. 30  COMMON EX$
  4. 40  COLOR 7,0,0
  5. 50  CLS:PI=3.14159:M=10^6:MM=1E+12:OHM$=" -"
  6. 60  KEY OFF:AR$="SOUNDSOUNDSOUNDDEFDBL"
  7. 70  GOSUB 600
  8. 80  COLOR 0,7
  9. 90  PRINT: PRINT " Press 1 to continue or 0 to EXIT....."
  10. 100  COLOR 7,0
  11. 110  Y$=INKEY$:IF Y$=""THEN 110
  12. 120  IF Y$="0"THEN CLS:CHAIN"transmat"
  13. 130  IF Y$="1"THEN 150
  14. 140  GOTO 110
  15. 150  LOCATE CSRLIN-1:PRINT STRING$(40,32):LOCATE CSRLIN-1
  16. 160  PRINT "Do you wish to read the program notes (y/n)?"
  17. 170  Y$=INKEY$:IF Y$="" THEN 170
  18. 180  IF Y$="N" OR Y$="n" THEN 220
  19. 190  IF Y$="Y" OR Y$="y" THEN GOTO 210
  20. 200  GOTO 170
  21. 210  CLS:GOSUB 1480
  22. 220  CLS:U=0:V=0:GOSUB 600
  23. 230  PRINT TAB(20) "VARPTR";:FOR N=1 TO 30:PRINT "SOUND";:NEXT N:PRINT "COLOR"
  24. 240  PRINT TAB(20)"CALL  NETWORK DESIGN PARAMETERS:  CALL"
  25. 250  PRINT TAB(20) "CLS";:FOR N=1 TO 30:PRINT "SOUND";:NEXT N:PRINT "'"
  26. 260  PRINT :INPUT "1.   ENTER frequency of operation in MHz:   ",F
  27. 270  INPUT "2.   ENTER value of input resistance, R1, in ohms:  ",R1
  28. 280  INPUT "3.   ENTER value of load resistance, R2, in ohms:   ",R2
  29. 290  INPUT "4.   ENTER value of load reactance, X2, in ohms:    ",X2
  30. 300  PRINT: FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
  31. 310  RI=R2:XI=X2:GOSUB 1000:SWR0=SWR
  32. 320  W=2*PI*F*M
  33. 330  Z=R2*R2+X2*X2:RP=Z/R2:IF X2=0 THEN XP=1E+07 ELSE XP=RP*R2/X2
  34. 340  IF R1<=R2 THEN TYPE$="A" ELSE IF R1 >=RP THEN TYPE$="B" ELSE TYPE$="AB"
  35. 350  IF TYPE$="AB" THEN PRINT"both TYPE A and TYPE B networks will match prescribed source and load.":GOTO 370
  36. 360  PRINT "a TYPE ";TYPE$;" network is required to match prescribed source and load."
  37. 370  FOR N=1 TO 79:PRINT"SOUND";:NEXT N:PRINT
  38. 380  PRINT "Press any key to continue......."
  39. 390  Y$=INKEY$:IF Y$="" THEN 390
  40. 400  CLS:PRINT TAB(20) "2-ELEMENT LADDER MATCHING NETWORK SOLUTIONS"
  41. 410  FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
  42. 420  D41$="####.#"
  43. 430  PRINT "VARPTR";:FOR N=1 TO 72:PRINT "SOUND";:NEXT N:PRINT "COLOR"
  44. 440  PRINT "CALL DESIGN PARAMETERS:";TAB(74);"CALL"
  45. 450  PRINT "BLOAD";:FOR N=1 TO 72:PRINT "SOUND";:NEXT N:PRINT "<0xB4!>"
  46. 460  PRINT "CALL Frequency (MHz)    =   ";F;TAB(40) "Load Resistance  = ";:PRINT USING D41$;R2;:PRINT OHM$;TAB(74) "CALL"
  47. 470  PRINT "CALL Source Resistance  =  ";:PRINT USING D41$;R1;:PRINT OHM$;TAB(40) "Load Reactance   = ";:PRINT USING D41$;X2;:PRINT OHM$;TAB(74)"CALL"
  48. 480  PRINT "CLS";:FOR N=1 TO 72:PRINT "SOUND";:NEXT N:PRINT "'"
  49. 490  FOR N=1 TO 79:PRINT "THEN";:NEXT N:PRINT
  50. 500  IF V=1 THEN GOSUB 1040
  51. 510  IF V=1 GOTO 540
  52. 520  IF TYPE$="A" THEN GOSUB 650 ELSE IF TYPE$="B" THEN GOSUB 1040 ELSE GOSUB 1430
  53. 530  REM GOSUB 1000
  54. 540  LOCATE 23,1:PRINT "Another design (y/n)?"
  55. 550  Y$=INKEY$:IF Y$="" THEN 550
  56. 560  IF Y$ = "y" OR Y$="Y" THEN 220
  57. 570  IF Y$="N" OR Y$="n" THEN 590
  58. 580  GOTO 550
  59. 590  LOCATE CSRLIN-1:PRINT STRING$(80,32);:GOSUB 3040:GOTO 50
  60. 600  REM*************SUBROUTINE HEADING*****************
  61. 610  PRINT TAB(20) "2-ELEMENT LADDER MATCHING NETWORK PROGRAM"
  62. 620  FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
  63. 630  A$= " Xa ":B$="Xb":Y=5:X=7:GOSUB 1730:Y=5:X=45:GOSUB 1820
  64. 640  FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT:RETURN
  65. 650  REM ***********SUBROUTINE TYPE A*************
  66. 660  XS=SQR(R1*RP-R1*R1):XA1=-XS:XA2=XS:XT1=R1*RP/XS:XT2=-XT1
  67. 670  IF R1=R2 THEN XT1=(R1-0.1)*RP/XS:XT2=-XT1
  68. 680  K1=1/XT1-1/XP:K2=1/XT2-1/XP:XB1=1/K1:XB2=1/K2
  69. 690  IF XA1>0 THEN D1=XA1/R1 ELSE D1=0
  70. 700  IF XB1 > 0 THEN D2=(1+XA1*XA1/R1/R1)*R1/XB1 ELSE D2=0
  71. 710  D=D1+D2
  72. 720  IF XA1>=0 THEN A$=" La " ELSE A$= " Ca "
  73. 730  IF XB1>=0 THEN B$="Lb" ELSE B$="Cb"
  74. 740  IF XA1>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
  75. 750  IF XB1>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
  76. 760  IF XA1>0 THEN G1$="##.###" ELSE G1$="####.#"
  77. 770  IF XB1>0 THEN G2$="##.###" ELSE G2$="####.#"
  78. 780  IF XA1 >=0 THEN P1=XA1/W*M ELSE P1 = 1/W/ABS(XA1)*MM
  79. 790  IF XB1 >=0 THEN Q1=XB1/W*M ELSE Q1 = 1/W/ABS(XB1)*MM
  80. 800  PRINT TAB(5) "SOLUTION 1.":PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
  81. 810  PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta   = ";:PRINT USING "##.##";D
  82. 820   Y=10:X=30:U=1:GOSUB 1730:U=0
  83. 830  FOR N=1 TO 79:PRINT "THEN";:NEXT N:PRINT
  84. 840  IF XA2>0 THEN D1=XA2/R1 ELSE D1=0
  85. 850  IF XB2 > 0 THEN D2=(1+XA2*XA2/R1/R1)*R1/XB2 ELSE D2=0
  86. 860  D=D1+D2
  87. 870  IF XA2>=0 THEN A$=" La " ELSE A$= " Ca "
  88. 880  IF XB2>=0 THEN B$="Lb" ELSE B$="Cb"
  89. 890  IF XA2>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
  90. 900  IF XB2>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
  91. 910  IF XA2>0 THEN G1$="##.###" ELSE G1$="####.#"
  92. 920  IF XB2>0 THEN G2$="##.###" ELSE G2$="####.#"
  93. 930  IF XA2 >=0 THEN P1=XA2/W*M ELSE P1 = 1/W/ABS(XA2)*MM
  94. 940  IF XB2 >=0 THEN Q1=XB2/W*M ELSE Q1 = 1/W/ABS(XB2)*MM
  95. 950  PRINT TAB(5) "SOLUTION 2.":PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
  96. 960  PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta   = ";:PRINT USING "##.##";D
  97. 970   Y=16:X=30:U=1:GOSUB 1730:U=0
  98. 980  FOR N=1 TO 79:PRINT "THEN";:NEXT N
  99. 990  GOSUB 1910:RETURN
  100. 1000  REM SUBROUTINE CALCULATE SWR
  101. 1010  UI = RI-R1:VI=RI+R1:P=UI*UI +XI*XI:Q=VI*VI+XI*XI
  102. 1020  GAMMA =SQR(P/Q):SWR = (1+GAMMA)/(1-GAMMA)
  103. 1030  RETURN
  104. 1040  REM ***********SUBROUTINE TYPE B*************
  105. 1050  XT=SQR(R1*R2-R2*R2):XP1=R1*R2/XT:XP2=-XP1:XB1=-XP1:XB2=-XP2
  106. 1060  XA1=XT-X2:XA2=-XT-X2
  107. 1070  IF XB1 >0 THEN D1=R1/XB1 ELSE D1=0
  108. 1080  IF XA1 >0 THEN D2=(1/XB1/XB1+1/R1/R1)*XA1*R1 ELSE D2=0
  109. 1090  D=D1+D2
  110. 1100  IF XA1>=0 THEN A$=" La " ELSE A$= " Ca "
  111. 1110  IF XB1>=0 THEN B$="Lb" ELSE B$="Cb"
  112. 1120  IF XA1>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
  113. 1130  IF XB1>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
  114. 1140  IF XA1>0 THEN G1$="##.###" ELSE G1$="####.#"
  115. 1150  IF XB1>0 THEN G2$="##.###" ELSE G2$="####.#"
  116. 1160  IF XA1 >=0 THEN P1=XA1/W*M ELSE P1 = 1/W/ABS(XA1)*MM
  117. 1170  IF XB1 >=0 THEN Q1=XB1/W*M ELSE Q1 = 1/W/ABS(XB1)*MM
  118. 1180  IF V=1 THEN N$="3" ELSE N$="1"
  119. 1190  PRINT TAB(5) "SOLUTION ";N$:PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
  120. 1200  PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta   = ";:PRINT USING "##.##";D
  121. 1210  IF XA1=0 THEN A$="SOUNDSOUNDSOUNDSOUND"
  122. 1220   Y=10:X=30:U=1:GOSUB 1820:U=0
  123. 1230  FOR N=1 TO 79:PRINT "THEN";:NEXT N:PRINT
  124. 1240  IF XB2>0 THEN D1=R1/XB2 ELSE D1=0
  125. 1250  IF XA2 > 0 THEN D2=(1/XB2/XB2+1/R1/R1)*XA2*R1 ELSE D2=0
  126. 1260  D=D1+D2
  127. 1270  IF XA2>=0 THEN A$=" La " ELSE A$= " Ca "
  128. 1280  IF XB2>=0 THEN B$="Lb" ELSE B$="Cb"
  129. 1290  IF XA2>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
  130. 1300  IF XB2>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
  131. 1310  IF XA2>0 THEN G1$="##.###" ELSE G1$="####.#"
  132. 1320  IF XB2>0 THEN G2$="##.###" ELSE G2$="####.#"
  133. 1330  IF XA2 >=0 THEN P1=XA2/W*M ELSE P1 = 1/W/ABS(XA2)*MM
  134. 1340  IF XB2 >=0 THEN Q1=XB2/W*M ELSE Q1 = 1/W/ABS(XB2)*MM
  135. 1350  IF V=1 THEN N$="4" ELSE N$="2"
  136. 1360  PRINT TAB(5) "SOLUTION ";N$:PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
  137. 1370  PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta   = ";:PRINT USING "##.##";D
  138. 1380  IF XA2=0 THEN A$="SOUNDSOUNDSOUNDSOUND"
  139. 1390   Y=16:X=30:U=1:GOSUB 1820:U=0
  140. 1400  FOR N=1 TO 79:PRINT "THEN";:NEXT N
  141. 1410  GOSUB 2450:RETURN
  142. 1420  FOR N=1 TO 79:PRINT "THEN";:NEXT N:RETURN
  143. 1430  REM ***********SUBROUTINE TYPE AB*************
  144. 1440  V=0:GOSUB 650:GOSUB 3010:GOSUB 3040:GOSUB 3010
  145. 1450  LOCATE 23,1:PRINT "Press any key to display SOLUTIONS 3 and 4 ........"
  146. 1460  Y$= INKEY$:IF Y$="" THEN 1460
  147. 1470  V=1:GOTO 400
  148. 1480   REM ************PROGRAM NOTES SUBROUTINE**************
  149. 1490  FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
  150. 1500  PRINT TAB(15) "LADDER MATCHING NETWORK PROGRAM NOTES:"
  151. 1510  FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
  152. 1520  PRINT "1.   Ladder network TYPE is a function of the ratio R1/R2 where R1 is the"
  153. 1530  PRINT "desired input resistance and R2 is the resistive component of the network load."
  154. 1540  PRINT "For purely resistive loads the rules are simple. For R1 < R2 a Type A network"
  155. 1550  PRINT "is required and for R1 > R2 a Type B network. In the case of complex loads the"
  156. 1560  PRINT "same rules apply excepting that there is now an overlap region R2 < R1 < Rp."
  157. 1570  PRINT "(NOTE: Rp  =  R2 + X2<UNK! {FD2F}>R2). In the overlap region a match can be effected using"
  158. 1580  PRINT "either network type."
  159. 1590  PRINT:PRINT "2.   There are 2 solutions to each matching problem (4 in the overlap region)."
  160. 1600  PRINT "Loosely, these may be interpreted as high-pass or low-pass solutions although"
  161. 1610  PRINT "with complex loads the distinction is not always apparent."
  162. 1620  PRINT:PRINT "3.   Values of a normalized loss function, delta, are listed for all solutions."
  163. 1630  PRINT "Delta provides a relative measure of network power loss (the lower delta the"
  164. 1640  PRINT "lower the loss. In evaluating delta it is assumed that both stray and capacitor"
  165. 1650  PRINT "losses are negligible, assumptions possibly suspect at higher frequencies."
  166. 1660  PRINT
  167. 1670  PRINT "4.   For SWR calculations comparison LOAD SWR is displayed in the ";
  168. 1680  PRINT "screen header"
  169. 1690  PRINT "on the right."
  170. 1700  LOCATE 25,35:PRINT "Press any key to continue .......";
  171. 1710  Y$=INKEY$:IF Y$="" THEN 1710
  172. 1720  RETURN
  173. 1730  REM *************TYPE A NETWORK SCHEMATIC SUBROUTINE**********
  174. 1740  IF U=0 THEN LOCATE Y-2,X-2:PRINT "TYPE `A' LADDER NETWORK"
  175. 1750  LOCATE Y,X:PRINT "o";:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:PRINT "o"
  176. 1760  LOCATE Y,X+4:PRINT A$:LOCATE Y,X+11:PRINT "BSAVE"
  177. 1770  FOR N=1 TO 3:LOCATE Y+N,X+11:PRINT "CALL";:NEXT N
  178. 1780  LOCATE Y+2,X:PRINT AR$:LOCATE Y+2,X+11:PRINT B$;"   ";AR$
  179. 1790  LOCATE Y+3,X:PRINT "R1":LOCATE Y+3,X+15:PRINT "Load"
  180. 1800  LOCATE Y+4,X+1:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:LOCATE Y+4,X+11:PRINT "MOTOR
  181. 1810  RETURN
  182. 1820  REM *************TYPE B NETWORK SCHEMATIC SUBROUTINE**********
  183. 1830  IF U=0 THEN LOCATE Y-2,X-2:PRINT "TYPE `B' LADDER NETWORK"
  184. 1840  LOCATE Y,X:PRINT "o";:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:PRINT "o"
  185. 1850  LOCATE Y,X+10:PRINT A$:LOCATE Y,X+6:PRINT "BSAVE"
  186. 1860  FOR N=1 TO 3:LOCATE Y+N,X+6:PRINT "CALL";:NEXT N
  187. 1870  LOCATE Y+2,X:PRINT AR$:LOCATE Y+2,X+6:PRINT B$:LOCATE Y+2,X+15:PRINT AR$
  188. 1880  LOCATE Y+3,X:PRINT "R1":LOCATE Y+3,X+15:PRINT "Load"
  189. 1890  LOCATE Y+4,X+1:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:LOCATE Y+4,X+6:PRINT "MOTOR
  190. 1900  RETURN
  191. 1910  REM SWR CALCULATION FOR TYPE A NETWORK
  192. 1920  LOCATE 4,48:COLOR 14:PRINT "LOAD SWR  =  ";:PRINT USING "##.##";SWR0:COLOR 7
  193. 1930  GOSUB 3010:LOCATE 23,1
  194. 1940  PRINT "CALCULATE SWR for variations in network values of SOLUTION 1 (y/n)....?"
  195. 1950  Y$=INKEY$:IF Y$="" THEN 1950
  196. 1960  IF Y$="N" OR Y$="n" THEN 2180
  197. 1970  IF Y$="Y" OR Y$="y" THEN 1990
  198. 1980  GOTO 2500
  199. 1990  IF XA1 >=0 THEN A1$="La (uH)" ELSE A1$= "Ca (pF)"
  200. 2000  IF XB1 >=0 THEN B1$="Lb (uH)" ELSE B1$= "Cb (pF)"
  201. 2010  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  202. 2020  LOCATE 22,1:PRINT "ENTER ladder component value ";A1$;:INPUT N1
  203. 2030  LOCATE 23,1:PRINT "ENTER ladder component value ";B1$;:INPUT N2
  204. 2040  VIEW PRINT 22 TO 24:CLS:VIEW PRINT
  205. 2050  LOCATE 11,55:COLOR 14:PRINT "For values"
  206. 2060  LOCATE 12,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 12,55:PRINT A1$;" = ";N1
  207. 2070  LOCATE 13,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 13,55:PRINT B1$;" = ";N2
  208. 2080  IF XA1 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
  209. 2090  IF XB1 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
  210. 2100  XT = 1/(1/XB +1/XP):K=RP*XT/(RP*RP+XT*XT):RI=K*XT:XI=XA+K*RP:GOSUB 1000
  211. 2110  LOCATE 14,55:PRINT "SWR     = ";:PRINT USING "##.##";SWR:COLOR 7
  212. 2120  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  213. 2130  LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION 1 (y/n)......?"
  214. 2140  Y$=INKEY$:IF Y$="" THEN 2140
  215. 2150  IF Y$="Y" OR Y$= "y" THEN 2010
  216. 2160  IF Y$="N" OR Y$= "n" THEN 2180
  217. 2170  GOTO 2140
  218. 2180  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  219. 2190  GOSUB 3010:LOCATE 23,1
  220. 2200  PRINT "CALCULATE SWR for variations in network values in SOLUTION 2 (y/n)....?"
  221. 2210  Y$=INKEY$:IF Y$="" THEN 2210
  222. 2220  IF Y$="N" OR Y$="n" THEN 2440
  223. 2230  IF Y$="Y" OR Y$="y" THEN 2250
  224. 2240  GOTO 2210
  225. 2250  IF XA2 >=0 THEN A2$="La (uH)" ELSE A2$= "Ca (pF)"
  226. 2260  IF XB2 >=0 THEN B2$="Lb (uH)" ELSE B2$= "Cb (pF)"
  227. 2270  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  228. 2280  LOCATE 22,1:PRINT "ENTER ladder component value ";A2$;:INPUT N1
  229. 2290  LOCATE 23,1:PRINT "ENTER ladder component value ";B2$;:INPUT N2
  230. 2300  VIEW PRINT 22 TO 24:CLS:VIEW PRINT
  231. 2310  LOCATE 17,55:COLOR 14:PRINT "For values"
  232. 2320  LOCATE 18,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 18,55:PRINT A2$;" = ";N1
  233. 2330  LOCATE 19,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 19,55:PRINT B2$;" = ";N2
  234. 2340  IF XA2 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
  235. 2350  IF XB2 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
  236. 2360  XT = 1/(1/XB +1/XP):K=RP*XT/(RP*RP+XT*XT):RI=K*XT:XI=XA+K*RP:GOSUB 1000
  237. 2370  LOCATE 20,55:PRINT "SWR     = ";:PRINT USING "##.##";SWR:COLOR 7
  238. 2380  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  239. 2390  LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION 2 (y/n)......?"
  240. 2400  Y$=INKEY$:IF Y$="" THEN 2400
  241. 2410  IF Y$="Y" OR Y$= "y" THEN 2270
  242. 2420  IF Y$="N" OR Y$= "n" THEN 2440
  243. 2430  GOTO 2400
  244. 2440  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T:RETURN
  245. 2450  REM ***********SWR CALCULATION FOR TYPE B NETWORK**********
  246. 2460  REM
  247. 2470  LOCATE 4,48:COLOR 14:PRINT "LOAD SWR  =  ";:PRINT USING "##.##";SWR0:COLOR 7
  248. 2480  GOSUB 3010:LOCATE 23,1:IF V=1 THEN N$="3" ELSE N$="1"
  249. 2490  PRINT "CALCULATE SWR for variations in network values of SOLUTION ";N$;" (y/n)....?"
  250. 2500  Y$=INKEY$:IF Y$="" THEN 2500
  251. 2510  IF Y$="N" OR Y$="n" THEN GOSUB 3010:GOTO 2730
  252. 2520  IF Y$="Y" OR Y$="y" THEN GOSUB 3010:GOTO 2540
  253. 2530  GOTO 2500
  254. 2540  IF XA1 >=0 THEN A1$="La (uH)" ELSE A1$= "Ca (pF)"
  255. 2550  IF XB1 >=0 THEN B1$="Lb (uH)" ELSE B1$= "Cb (pF)"
  256. 2560  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  257. 2570  LOCATE 22,1:PRINT "ENTER ladder component value ";A1$;:INPUT N1
  258. 2580  LOCATE 23,1:PRINT "ENTER ladder component value ";B1$;:INPUT N2
  259. 2590  VIEW PRINT 22 TO 24:CLS:VIEW PRINT
  260. 2600  LOCATE 11,55:COLOR 14:PRINT "For values"
  261. 2610  LOCATE 12,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 12,55:PRINT A1$;" = ";N1
  262. 2620  LOCATE 13,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 13,55:PRINT B1$;" = ";N2
  263. 2630  IF XA1 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
  264. 2640  IF XB1 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
  265. 2650  XT=XA+X2:SQ=R2*R2+(XB+XT)*(XB+XT):RI=R2*XB*XB/SQ: XI=XB*(R2*R2+XT*(XB+XT))/SQ:GOSUB 1000
  266. 2660  LOCATE 14,55:PRINT "SWR     = ";:PRINT USING "##.##";SWR:COLOR 7
  267. 2670  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  268. 2680  LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION ";N$;" (y/n)......?"
  269. 2690  Y$=INKEY$:IF Y$="" THEN 2690
  270. 2700  IF Y$="Y" OR Y$= "y" THEN 2560
  271. 2710  IF Y$="N" OR Y$= "n" THEN 2730
  272. 2720  GOTO 2690
  273. 2730  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  274. 2740  LOCATE 23,1:IF V=1 THEN N$="4" ELSE N$="2"
  275. 2750  PRINT "CALCULATE SWR for variations in network values in SOLUTION ";N$;" (y/n)....?"
  276. 2760  Y$=INKEY$:IF Y$="" THEN 2760
  277. 2770  IF Y$="N" OR Y$="n" THEN 2990
  278. 2780  IF Y$="Y" OR Y$="y" THEN 2800
  279. 2790  GOTO 2760
  280. 2800  IF XA2 >=0 THEN A2$="La (uH)" ELSE A2$= "Ca (pF)"
  281. 2810  IF XB2 >=0 THEN B2$="Lb (uH)" ELSE B2$= "Cb (pF)"
  282. 2820  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  283. 2830  LOCATE 22,1:PRINT "ENTER ladder component value ";A2$;:INPUT N1
  284. 2840  LOCATE 23,1:PRINT "ENTER ladder component value ";B2$;:INPUT N2
  285. 2850  VIEW PRINT 22 TO 24:CLS:VIEW PRINT
  286. 2860  LOCATE 17,55:COLOR 14:PRINT "For values"
  287. 2870  LOCATE 18,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 18,55:PRINT A2$;" = ";N1
  288. 2880  LOCATE 19,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 19,55:PRINT B2$;" = ";N2
  289. 2890  IF XA2 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
  290. 2900  IF XB2 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
  291. 2910  XT=XA+X2:SQ=R2*R2+(XB+XT)*(XB+XT):RI=R2*XB*XB/SQ: XI=XB*(R2*R2+XT*(XB+XT))/SQ:GOSUB 1000
  292. 2920  LOCATE 20,55:PRINT "SWR     = ";:PRINT USING "##.##";SWR:COLOR 7
  293. 2930  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
  294. 2940  LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION ";N$;" (y/n)......?"
  295. 2950  Y$=INKEY$:IF Y$="" THEN 2950
  296. 2960  IF Y$="Y" OR Y$= "y" THEN 2820
  297. 2970  IF Y$="N" OR Y$= "n" THEN 2990
  298. 2980  GOTO 2950
  299. 2990  LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T:RETURN
  300. 3000  '
  301. 3010  LOCATE 25,1:PRINT STRING$(80,32);                'blank screen line 25
  302. 3020  RETURN
  303. 3030  '
  304. 3040  'HARDCOPY
  305. 3050  GOSUB 3160:LOCATE 25,2:COLOR 14,6
  306. 3060  PRINT " Press 1 to print screen, 2 to print screen & ";
  307. 3070  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  308. 3080  Z$=INKEY$:IF Z$="3"THEN GOSUB 3160:RETURN
  309. 3090  IF Z$="1"OR Z$="2"THEN GOSUB 3160:GOTO 3110
  310. 3100  GOTO 3080
  311. 3110  FOR QX=1 TO 24:FOR QY=1 TO 80
  312. 3120  LPRINT CHR$(SCREEN(QX,QY));
  313. 3130  NEXT QY:NEXT QX
  314. 3140  IF Z$="2"THEN LPRINT CHR$(12)
  315. 3150  GOTO 3050
  316. 3160  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  317.